Suchfunktion
Ein Tabellenpflegedialog besitzt leider zwei elementare Funktionen nicht: Sortieren und Suchen. Wie eine Suchfunktion eingebaut werden kann, zeige ich dir in diesem Beitrag!
Um die Suchfunktion einzubauen, muss das generierte Pflegedynpro angepasst werden. Die Änderung ist also weg, sobald der Pflegedialog neu generiert wird!!
Vorbereitung
Zuerst muss ein Druckknopf zum Suchen eingebaut werden. Dies kann zum Einen über den Zeitpunkt “ST – Name des Trägerprogramms für das GUI-Menü” erreicht werden. Die einfachere Möglichkeit ist jedoch, einfach einen Druckknopf mit dem Fernglas auf das Dynpro zu bauen. Weisen Sie den Funktionscode “ZZFIND” zu.
Dann muss in der Ablauflogik ein neues Modul angelegt werden:
MODULE liste_update_liste. ENDCHAIN. ENDLOOP. MODULE zz_usercommand. MODULE liste_after_loop.
Wichtig ist, dass das Modul vor dem Modul LISTE_AFTER_LOOP steht!
Ein Doppelklick auf zz_usercommand legt dieses an. Hier solltest du einen Unterroutinenaufruf gleichen Namens machen:
PERFORM zz_usercommand.
Nachdem du dies Routine angelegt hast, füge den folgenden Code ein:
FORM zz_usercommand . DATA lv_searchtext TYPE text30. DATA lv_action TYPE c. DATA ls_myview LIKE zmyview_extract. CASE sy-ucomm. WHEN 'ZZFIND'. *** Ask for search string CALL FUNCTION 'POPUP_TO_SEARCH_VALUE' EXPORTING textline1 = 'Suchtext' titel = 'Einträge suchen' valuelength = 30 IMPORTING action = lv_action value = lv_searchtext EXCEPTIONS OTHERS = 2. IF lv_action = 'J'. *** search... CLEAR mark_extract. *** each line LOOP AT total INTO ls_myview. IF ls_org CS lv_searchtext. *** and mark if found ls_myview-mark = 'M'. ADD 1 TO mark_extract. ELSE. ls_myview-mark = space. ENDIF. MODIFY total FROM ls_myview. ENDLOOP. *** Display all marked entries function = 'ALMK'. ENDIF. ENDCASE. ENDFORM. " zz_usercommand
Ersetze “MYVIEW” durch den Namen deines Views oder Tabelle.
Ergebnis
Du hast nun einen Druckknopf zum Suchen auf Ihrem Pflegedynpro. Nach Drücken erscheint ein Popup, das nach einem Suchstring fragt.
Alle gefundenen Einträge werden angezeigt.
- 7. December: Excel Racing Simulation – Root Vole Race - 7. Dezember 2024
- 5. December: ABAPConf - 5. Dezember 2024
- 4. December: Only a lazy developer is a good developer - 4. Dezember 2024